def f():
    import re
    while True:
        #说明 ：01,001,001，-001，-01,-00.99,000.9等数认为输入有误
        num = input("请输入一个数，可以是正整数、负整数、正浮点数、负浮点数:")
        def f17(num):
            s = num.split(".")
            if re.compile(r'^-0|0').findall(s[0]) and len(s[0]) > 1:
                return False
            else:
                return True

        if re.compile('^[1,9]\d+$').findall(num):
            print(f"{num}是正整数")
            break
        elif re.compile('^-[1-9]\d+$').findall(num):
            print(f"{num}是负整数")
            break
        elif f17(num):
            re.compile('^\d+\.\d+').findall(num)
            print(f"{num}是正浮点数")
            break
        elif f17(num):
                re.compile('-^\d+\.\d+').findall(num)
                print(f"{num}是负浮点数")
                break
        else:
            print("输入有误，请重新输入")
f()
